
// 创建路由器 ,创建路由的方法, 浏览器历史记录
import { createRouter, createWebHistory, createWebHashHistory } from 'vue-router';

//  vue 是一个单文件组件,模拟出 类似浏览器跳转页面的效果
// 并没有跳转页面,只是改变了页面的显示内容
// import routes from './routes'; 

import LoginView from '../views/LoginView.vue';
import IndexView from '../views/IndexView.vue';
import BookView from '../views/BookView.vue';
import BookViewStr from '../views/BookViewStr.vue';
import NotFound from '../views/NotFound.vue';

// 页面路径数组,,很多条
let routes = [
  // 路线想,path url的路线,
  // 路径和精确度有关和 顺序无关

  
  { path: "/", component: IndexView },
  { path: "/login", component: LoginView },
  // 动态路由 
  // /:bookname 无法区分参数格式
  // 路由正则
  // "/:paramkey(正则表达式)正则表达式量词"
  // 正则表达式量词 ?  + *
  // + 1个或者无穷
  // /book/1 /book/123321131
  // { path: "/book/:bookname([0-9]+)", component: BookView },
  // \w 字母 数字 _  //  . 代表所有的字符
  { path: "/book/:bookname", component: BookViewStr },
  { path: "/book/:bookname(\\d+)", component: BookView },
  
  // 匹配 /users 和 /users/42
  // { path: '/users/:userId(\\d+)?', component: BookViewStr },
  // 匹配 /users 和 /users/42 /users/42/43
  // { path: '/users/:userId(\\d+)*', component: BookViewStr },
  { path: "/:aa(.*)*", component: NotFound },
]
// export 导出路由器,交给vue 使用
export const router = new createRouter({
  // 如何在浏览器里边显示
  history: createWebHistory(),
  // 所有的路线
  routes
})